﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Colonisator.Classes
{
    /// <summary>
    /// Fourni un jeu de conséquences d'une carte appliquables au joueur.
    /// Si une carte propose plusieurs choix de résolution, une instance de cette
    /// classe doit être créée pour chaque choix
    /// </summary>
    [Serializable()]
    public class ResolutionCarte
    {
        /// <summary>
        /// Indique si (>0) la résolution en cours donne des tours d'attentes
        /// </summary>
        public Int32 ToursAttente { get; set; }

        /// <summary>
        /// Donne les modificateurs à appliquer à la table de bord du joueur
        /// </summary>
        public TableDeBord DeltaTableDeBord { get; set; }

        /// <summary>
        /// S'il faut naviguer pour mener à bien la résolution, la destination est un ElementPlateau
        /// </summary>
        public ElementPlateau Destination { get; set; }

        /// <summary>
        /// Donne l'ensemble des actions, avec un entier d'ordre, de base 1, à effectuer pour la résolution
        /// </summary>
        public Dictionary<Int32, Action> ListeActions { get; set; }

        /// <summary>
        /// Construteur par défaut
        /// </summary>
        public ResolutionCarte()
        {
            ToursAttente = 0;
            DeltaTableDeBord = new TableDeBord();
            Destination = new ElementPlateau();
            ListeActions = new Dictionary<int, Action>();
        }
    }
}
